<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="IE=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <script src="https://cdn.jsdelivr.net/npm/vue@2.6.10/dist/vue.js"></script>
    <title>Document</title>
    <style>
        .one{
            width: 100px;
            height: 100px;
            background-color: thistle;
        }
        .two{
            width: 200px;
            height: 200px;
            background-color: skyblue;
        }
        .three{
            width: 300px;
            height: 300px;
            background-color: pink;
        }
    </style>
</head>
<body>
    <div id="root">

       <div :class="className"></div>

       <hr>

       <!-- 
        强制绑定class的值是一个数组,数组中的每一个值都会作为当前元素的类名（效果看选择器优先级）
        强制绑定的class和普通的class是可以一起存在的
       -->
      <div class="box" :class="className"></div>

    </div>

</body>
<script>
    /* 
        思想:
          * 如果我们在任何情况下需要改变某个元素的样式,第一时间考虑的不会获取这个元素去修改样式
          * 而是给这个元素强制绑定一个class属性,我们通过改变data中的class数据来控制视图更新
      
      */
    Vue.config.productionTip = false // 阻止 Vue在启动时生成生产提示
    
    const vm = new Vue({
        el: '#root',
        data(){
            return {
                className:['one','two','three'],
            }
        }
    })
</script>

</html>